package com.ym.medical.domain.entity;

import com.ym.common.constant.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.util.Date;

/**
 * 月底医生出账单对象 sys_doctor_bill
 *
 * @author ym
 * @date 2020-08-24
 */
@ApiModel("月底医生出账单-实体")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "sys_doctor_bill")
public class SysDoctorBillEntity extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 对账月份
	 */
	@ApiModelProperty("对账月份")
	private String statsMonth;

	/**
	 * 医生用户ID
	 */
	@ApiModelProperty("医生用户ID")
	private Long userId;

	/**
	 * 医生姓名
	 */
	@ApiModelProperty("医生姓名")
	private String doctorName;

	/**
	 * 提现银行卡号
	 */
	@ApiModelProperty("提现银行卡号")
	private String cardNo;

	/**
	 * 订单编号
	 */
	@ApiModelProperty("订单编号")
	private String tdNo;

	/**
	 * 提现金额
	 */
	@ApiModelProperty("提现金额")
	private Double incomeAmt;

	/**
	 * 渠道方手续费
	 */
	@ApiModelProperty("渠道方手续费")
	private Double otherAmt;

	/**
	 * 平台实际入账金额
	 */
	@ApiModelProperty("平台实际入账金额")
	private Double actualIncomeAmt;

	/**
	 * 平台垫付资金
	 */
	@ApiModelProperty("平台垫付资金")
	private Double advanceAmt;

	/**
	 * 平台抽成金额
	 */
	@ApiModelProperty("平台抽成金额")
	private Double drawAmt;

	/**
	 * 平台提现手续费
	 */
	@ApiModelProperty("平台提现手续费")
	private Double serviceAmt;

	/**
	 * 个人所得税
	 */
	@ApiModelProperty("个人所得税")
	private Double statsTaxAmt;

	/**
	 * 医生工资支出金额
	 */
	@ApiModelProperty("医生工资支出金额")
	private Double doctorAmt;

	/**
	 * 额外支出费用
	 */
	@ApiModelProperty("额外支出费用")
	private Double otherPayAmt;

	/**
	 * 净收入
	 */
	@ApiModelProperty("净收入")
	private Double netIncomeAmt;

	/**
	 * 出纳金额
	 */
	@ApiModelProperty("出纳金额")
	private Double cashAmt;

	/**
	 * 结算状态(01：已出账、:02：已结算:03：已作废)
	 */
	@ApiModelProperty("结算状态(01：已出账、:02：已结算:03：已作废)")
	private String settlementStatus;

	/**
	 * 出账时间
	 */
	@ApiModelProperty("出账时间")
	private Date billingTime;

	/**
	 * 结算人(系统生成/人工创建)
	 */
	@ApiModelProperty("结算人(系统生成/人工创建)")
	private Long settlementPerson;

	/**
	 * 修改时间(结算/作废时间)
	 */
	@ApiModelProperty("修改时间(结算/作废时间)")
	private Date modifyTime;

	/**
	 * 修改人(结算/作废人)
	 */
	@ApiModelProperty("修改人(结算/作废人)")
	private Long modifierId;

}
